package realQuestion.ali;

//public class Singleton{
//
//    private static Singleton instance;
//
//    private Singleton(){
//    }
//
//    public  static Singleton getInstance(){
//        if(instance==null){
//            instance=new Singleton();
//        }
//        return instance;
//    }
//
//
//}





/*
方法二 饿汉式
*/

//public class Singleton{
//
//    private static Singleton instance=new Singleton();
//
//    private Singleton(){
//    }
//
//    public  static Singleton getInstance(){
//        return instance;
//    }
//
//}



/*
方法三 双重检查单列模式
*/
//public class Singleton{
//
//    private static Singleton instance;
//
//    private Singleton(){
//    }
//
//    public  static Singleton getInstance(){
//        if(instance==null){
//            synchronized(Singleton.class){
//                if(instance==null){
//                    instance=new Singleton();
//                }
//            }
//        }
//        return instance;
//    }
//
//
//}





/*
方法四 静态内部类实现
*/
public class Singleton{

    private Singleton(){
    }

    public  static   class SingletonHolder {
        private static   final Singleton instance=new Singleton();
    }


    public  static Singleton getInstance(){
        return  SingletonHolder.instance;
    }


}





